package com.ruoyi.storage.mapper;

import java.util.List;
import com.ruoyi.storage.domain.EntryRecord;
import com.ruoyi.storage.domain.EntryDetail;

/**
 * 入库Mapper接口
 * 
 * @author 庞一恺
 * @date 2025-01-20
 */
public interface EntryRecordMapper 
{
    /**
     * 查询入库
     * 
     * @param entryRecordId 入库主键
     * @return 入库
     */
    public EntryRecord selectEntryRecordByEntryRecordId(Integer entryRecordId);

    /**
     * 查询入库列表
     * 
     * @param entryRecord 入库
     * @return 入库集合
     */
    public List<EntryRecord> selectEntryRecordList(EntryRecord entryRecord);

    /**
     * 新增入库
     * 
     * @param entryRecord 入库
     * @return 结果
     */
    public int insertEntryRecord(EntryRecord entryRecord);

    /**
     * 修改入库
     * 
     * @param entryRecord 入库
     * @return 结果
     */
    public int updateEntryRecord(EntryRecord entryRecord);

    /**
     * 删除入库
     * 
     * @param entryRecordId 入库主键
     * @return 结果
     */
    public int deleteEntryRecordByEntryRecordId(Integer entryRecordId);

    /**
     * 批量删除入库
     * 
     * @param entryRecordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEntryRecordByEntryRecordIds(Integer[] entryRecordIds);

    /**
     * 批量删除入库详情
     * 
     * @param entryRecordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEntryDetailByEntryRecordIds(Integer[] entryRecordIds);
    
    /**
     * 批量新增入库详情
     * 
     * @param entryDetailList 入库详情列表
     * @return 结果
     */
    public int batchEntryDetail(List<EntryDetail> entryDetailList);
    

    /**
     * 通过入库主键删除入库详情信息
     * 
     * @param entryRecordId 入库ID
     * @return 结果
     */
    public int deleteEntryDetailByEntryRecordId(Integer entryRecordId);
}
